<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns:yui="http://yuilibrary.com/rdf/1.0/yui.rdf#">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>API: console-filters   console-filters.js  (YUI Library)</title>

	<link rel="stylesheet" type="text/css" href="assets/reset-fonts-grids-min.css" />
	<link rel="stylesheet" type="text/css" href="assets/api.css" />

    <script type="text/javascript" src="assets/api-js"></script>
    <script type="text/javascript" src="assets/ac-js"></script>
</head>

<body id="yahoo-com">

<div id="doc3" class="yui-t2">
	<div id="hd">
        <h1><a href="http://developer.yahoo.com/yui/" title="Yahoo! UI Library">Yahoo! UI Library</a></h1>
        <h3>console-filters&nbsp; <span class="subtitle">3.0.0b1</span></h3>
        <a href="./index.html" title="Yahoo! UI Library">Yahoo! UI Library</a> 
            &gt; <a href="./module_console-filters.html" title="console-filters">console-filters</a>
                
                 &gt; console-filters.js (source view) 
        <form onsubmit="return false">
            <div id="propertysearch">
                Search: <input autocomplete="off" id="searchinput" />
                <div id="searchresults">
                    &nbsp;
                </div>
            </div>
        </form>
	</div>

	<div id="bd">
		<div id="yui-main">
			<div class="yui-b">
            <form action="#" name="yui-classopts-form" method="get" id="yui-classopts-form">
                <fieldset>
                    <legend>Filters</legend>
                <span class="classopts"><input type="checkbox" name="show_private" id="show_private" /> <label for="show_private">Show Private</label></span>
                <span class="classopts"><input type="checkbox" name="show_protected" id="show_protected" /> <label for="show_protected">Show Protected</label></span>
                <span class="classopts"><input type="checkbox" name="show_deprecated" id="show_deprecated" /> <label for="show_deprecated">Show Deprecated</label></span>
                </fieldset>
            </form>

                    <div id="srcout">
                        <style>
                            #doc3 .classopts { display:none; }
                        </style>
<div class="highlight" ><pre><span class="c">/**</span>
<span class="c"> * &lt;p&gt;Provides Plugin.ConsoleFilters plugin class.&lt;/p&gt;</span>
<span class="c"> *</span>
<span class="c"> * &lt;p&gt;This plugin adds the ability to control which Console entries display by filtering on category and source. Two groups of checkboxes are added to the Console footer, one for categories and the other for sources.  Only those messages that match a checked category or source are displayed.&lt;/p&gt;</span>
<span class="c"> *</span>
<span class="c"> * @module console-filters</span>
<span class="c"> * @namespace Plugin</span>
<span class="c"> * @class ConsoleFilters</span>
<span class="c"> */</span>

<span class="c">// Some common strings and functions</span>
<span class="c"></span><span class="k">var</span> <span class="nx">getCN</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">ClassNameManager</span><span class="o">.</span><span class="nx">getClassName</span><span class="o">,</span>
    <span class="nx">CONSOLE</span> <span class="o">=</span> <span class="s1">&#39;console&#39;</span><span class="o">,</span>
    <span class="nx">FILTERS</span> <span class="o">=</span> <span class="s1">&#39;filters&#39;</span><span class="o">,</span>
    <span class="nx">FILTER</span>  <span class="o">=</span> <span class="s1">&#39;filter&#39;</span><span class="o">,</span>
    <span class="nx">CATEGORY</span> <span class="o">=</span> <span class="s1">&#39;category&#39;</span><span class="o">,</span>
    <span class="nx">SOURCE</span>   <span class="o">=</span> <span class="s1">&#39;source&#39;</span><span class="o">,</span>
    <span class="nx">CATEGORY_DOT</span> <span class="o">=</span> <span class="s1">&#39;category.&#39;</span><span class="o">,</span>
    <span class="nx">SOURCE_DOT</span>   <span class="o">=</span> <span class="s1">&#39;source.&#39;</span><span class="o">,</span>

    <span class="nx">HOST</span>     <span class="o">=</span> <span class="s1">&#39;host&#39;</span><span class="o">,</span>
    <span class="nx">PARENT_NODE</span> <span class="o">=</span> <span class="s1">&#39;parentNode&#39;</span><span class="o">,</span>
    <span class="nx">CHECKED</span>  <span class="o">=</span> <span class="s1">&#39;checked&#39;</span><span class="o">,</span>
    <span class="nx">DEF_VISIBILITY</span> <span class="o">=</span> <span class="s1">&#39;defaultVisibility&#39;</span><span class="o">,</span>

    <span class="nx">DOT</span> <span class="o">=</span> <span class="s1">&#39;.&#39;</span><span class="o">,</span>
    <span class="nx">EMPTY</span>   <span class="o">=</span> <span class="s1">&#39;&#39;</span><span class="o">,</span>

    <span class="nx">C_BODY</span>       <span class="o">=</span> <span class="nx">DOT</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Console</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">.</span><span class="nx">console_bd_class</span><span class="o">,</span>
    <span class="nx">C_FOOT</span>       <span class="o">=</span> <span class="nx">DOT</span> <span class="o">+</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Console</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">.</span><span class="nx">console_ft_class</span><span class="o">,</span>

    <span class="nx">SEL_CHECK</span>    <span class="o">=</span> <span class="s1">&#39;input[type=checkbox].&#39;</span><span class="o">,</span>
    
    <span class="nx">isString</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">;</span>

<span class="k">function</span> <span class="nx">ConsoleFilters</span><span class="o">()</span> <span class="o">{</span>
    <span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">superclass</span><span class="o">.</span><span class="nx">constructor</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span><span class="nx">arguments</span><span class="o">);</span>
<span class="o">}</span>

<span class="nx">Y</span><span class="o">.</span><span class="nx">mix</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">,{</span>
    <span class="c">/**</span>
<span class="c">     * Plugin name.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.NAME</span>
<span class="c">     * @type String</span>
<span class="c">     * @static</span>
<span class="c">     * @default &#39;consoleFilters&#39;</span>
<span class="c">     */</span>
    <span class="nx">NAME</span> <span class="o">:</span> <span class="s1">&#39;consoleFilters&#39;</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * The namespace hung off the host object that this plugin will inhabit.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.NS</span>
<span class="c">     * @type String</span>
<span class="c">     * @static</span>
<span class="c">     * @default &#39;filter&#39;</span>
<span class="c">     */</span>
    <span class="nx">NS</span> <span class="o">:</span> <span class="nx">FILTER</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * Markup template used to create the container for the category filters.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.CATEGORIES_TEMPLATE</span>
<span class="c">     * @type String</span>
<span class="c">     * @static</span>
<span class="c">     */</span>
    <span class="nx">CATEGORIES_TEMPLATE</span> <span class="o">:</span>
        <span class="s1">&#39;&lt;div class=&quot;{categories}&quot;&gt;&lt;/div&gt;&#39;</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * Markup template used to create the container for the source filters.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.SOURCES_TEMPLATE</span>
<span class="c">     * @type String</span>
<span class="c">     * @static</span>
<span class="c">     */</span>
    <span class="nx">SOURCES_TEMPLATE</span> <span class="o">:</span>
        <span class="s1">&#39;&lt;div class=&quot;{sources}&quot;&gt;&lt;/div&gt;&#39;</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * Markup template used to create the category and source filter checkboxes.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.FILTER_TEMPLATE</span>
<span class="c">     * @type String</span>
<span class="c">     * @static</span>
<span class="c">     */</span>
    <span class="nx">FILTER_TEMPLATE</span> <span class="o">:</span>
        <span class="c">// IE8 and FF3 don&#39;t permit breaking _between_ nowrap elements.  IE8</span>
<span class="c"></span>        <span class="c">// doesn&#39;t understand (non spec) wbr tag, nor does it create text nodes</span>
<span class="c"></span>        <span class="c">// for spaces in innerHTML strings.  The thin-space entity suffices to</span>
<span class="c"></span>        <span class="c">// create a breakable point.</span>
<span class="c"></span>        <span class="s1">&#39;&lt;label class=&quot;{filter_label}&quot;&gt;&#39;</span><span class="o">+</span>
            <span class="s1">&#39;&lt;input type=&quot;checkbox&quot; value=&quot;{filter_name}&quot; &#39;</span><span class="o">+</span>
                <span class="s1">&#39;class=&quot;{filter} {filter_class}&quot;&gt; {filter_name}&#39;</span><span class="o">+</span>
        <span class="s1">&#39;&lt;/label&gt;&amp;#8201;&#39;</span><span class="o">,</span>

    <span class="c">/** </span>
<span class="c">     * Classnames used by the templates when creating nodes.</span>
<span class="c">     *</span>
<span class="c">     * @property ConsoleFilters.CHROME_CLASSES</span>
<span class="c">     * @type Object</span>
<span class="c">     * @static</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">CHROME_CLASSES</span> <span class="o">:</span> <span class="o">{</span>
        <span class="nx">categories</span>   <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTERS</span><span class="o">,</span><span class="s1">&#39;categories&#39;</span><span class="o">),</span>
        <span class="nx">sources</span>      <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTERS</span><span class="o">,</span><span class="s1">&#39;sources&#39;</span><span class="o">),</span>
        <span class="nx">category</span>     <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTER</span><span class="o">,</span><span class="nx">CATEGORY</span><span class="o">),</span>
        <span class="nx">source</span>       <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTER</span><span class="o">,</span><span class="nx">SOURCE</span><span class="o">),</span>
        <span class="nx">filter</span>       <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTER</span><span class="o">),</span>
        <span class="nx">filter_label</span> <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTER</span><span class="o">,</span><span class="s1">&#39;label&#39;</span><span class="o">)</span>
    <span class="o">},</span>

    <span class="nx">ATTRS</span> <span class="o">:</span> <span class="o">{</span>
        <span class="c">/**</span>
<span class="c">         * Default visibility applied to new categories and sources.</span>
<span class="c">         *</span>
<span class="c">         * @attribute defaultVisibility</span>
<span class="c">         * @type {Boolean}</span>
<span class="c">         * @default true</span>
<span class="c">         */</span>
        <span class="nx">defaultVisibility</span> <span class="o">:</span> <span class="o">{</span>
            <span class="nx">value</span> <span class="o">:</span> <span class="kc">true</span><span class="o">,</span>
            <span class="nx">validator</span> <span class="o">:</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">.</span><span class="nx">isBoolean</span>
        <span class="o">},</span>

        <span class="c">/**</span>
<span class="c">         * &lt;p&gt;Map of entry categories to their visibility status.  Update a</span>
<span class="c">         * particular category&#39;s visibility by setting the subattribute to true</span>
<span class="c">         * (visible) or false (hidden).&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * &lt;p&gt;For example, yconsole.filter.set(&#39;category.info&#39;, false) to hide</span>
<span class="c">         * log entries with the category/logLevel of &#39;info&#39;.&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * &lt;p&gt;Similarly, yconsole.filter.get(&#39;category.warn&#39;) will return a</span>
<span class="c">         * boolean indicating whether that category is currently being included</span>
<span class="c">         * in the UI.&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * &lt;p&gt;Unlike the YUI instance configuration&#39;s logInclude and logExclude</span>
<span class="c">         * properties, filtered entries are only hidden from the UI, but</span>
<span class="c">         * can be made visible again.&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * @attribute category</span>
<span class="c">         * @type Object</span>
<span class="c">         */</span>
        <span class="nx">category</span> <span class="o">:</span> <span class="o">{</span>
            <span class="nx">value</span> <span class="o">:</span> <span class="o">{},</span>
            <span class="nx">validator</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">,</span><span class="nx">k</span><span class="o">)</span> <span class="o">{</span>
                <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_validateCategory</span><span class="o">(</span><span class="nx">k</span><span class="o">,</span><span class="nx">v</span><span class="o">);</span>
            <span class="o">}</span>
        <span class="o">},</span>

        <span class="c">/**</span>
<span class="c">         * &lt;p&gt;Map of entry sources to their visibility status.  Update a</span>
<span class="c">         * particular sources&#39;s visibility by setting the subattribute to true</span>
<span class="c">         * (visible) or false (hidden).&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * &lt;p&gt;For example, yconsole.filter.set(&#39;sources.slider&#39;, false) to hide</span>
<span class="c">         * log entries originating from Y.Slider.&lt;/p&gt;</span>
<span class="c">         *</span>
<span class="c">         * @attribute source</span>
<span class="c">         * @type Object</span>
<span class="c">         */</span>
        <span class="nx">source</span> <span class="o">:</span> <span class="o">{</span>
            <span class="nx">value</span> <span class="o">:</span> <span class="o">{},</span>
            <span class="nx">validator</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">,</span><span class="nx">k</span><span class="o">)</span> <span class="o">{</span>
                <span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_validateSource</span><span class="o">(</span><span class="nx">k</span><span class="o">,</span><span class="nx">v</span><span class="o">);</span>
            <span class="o">}</span>
        <span class="o">}</span>
    <span class="o">}</span>
<span class="o">});</span>

<span class="nx">Y</span><span class="o">.</span><span class="nx">extend</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Plugin</span><span class="o">.</span><span class="nx">Base</span><span class="o">,</span> <span class="o">{</span>

    <span class="c">/**</span>
<span class="c">     * Collection of all log messages passed through since the plugin&#39;s</span>
<span class="c">     * instantiation.  This holds all messages regardless of filter status.</span>
<span class="c">     * Used as a single source of truth for repopulating the Console body when</span>
<span class="c">     * filters are changed.</span>
<span class="c">     *</span>
<span class="c">     * @property _entries</span>
<span class="c">     * @type Array</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_entries</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * The container node created to house the category filters.</span>
<span class="c">     *</span>
<span class="c">     * @property _categories</span>
<span class="c">     * @type Node</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_categories</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * The container node created to house the source filters.</span>
<span class="c">     *</span>
<span class="c">     * @property _sources</span>
<span class="c">     * @type Node</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_sources</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>

    <span class="c">/**</span>
<span class="c">     * Initialize entries collection and attach listeners to host events and</span>
<span class="c">     * methods.</span>
<span class="c">     *</span>
<span class="c">     * @method initializer</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">initializer</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">_entries</span> <span class="o">=</span> <span class="o">[];</span>

        <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">).</span><span class="nx">on</span><span class="o">(</span><span class="s2">&quot;entry&quot;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_onEntry</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>

        <span class="k">this</span><span class="o">.</span><span class="nx">doAfter</span><span class="o">(</span><span class="s2">&quot;renderUI&quot;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderUI</span><span class="o">);</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">doAfter</span><span class="o">(</span><span class="s2">&quot;syncUI&quot;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">syncUI</span><span class="o">);</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">doAfter</span><span class="o">(</span><span class="s2">&quot;bindUI&quot;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">bindUI</span><span class="o">);</span>

        <span class="k">this</span><span class="o">.</span><span class="nx">doAfter</span><span class="o">(</span><span class="s2">&quot;clearConsole&quot;</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_afterClearConsole</span><span class="o">);</span>

        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">).</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;rendered&#39;</span><span class="o">))</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">renderUI</span><span class="o">();</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">syncUI</span><span class="o">();</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">bindUI</span><span class="o">();</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Removes the plugin UI and unwires events.</span>
<span class="c">     *</span>
<span class="c">     * @method destructor</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">destructor</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="c">//TODO: grab last {consoleLimit} entries and update the console with</span>
<span class="c"></span>        <span class="c">//them (no filtering)</span>
<span class="c"></span>        <span class="k">this</span><span class="o">.</span><span class="nx">_entries</span> <span class="o">=</span> <span class="o">[];</span>

        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_categories</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_categories</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">PARENT_NODE</span><span class="o">).</span><span class="nx">removeChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_categories</span><span class="o">);</span>
        <span class="o">}</span>
        <span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_sources</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_sources</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">PARENT_NODE</span><span class="o">).</span><span class="nx">removeChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_sources</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Adds the category and source filter sections to the Console footer.</span>
<span class="c">     *</span>
<span class="c">     * @method renderUI</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">renderUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">foot</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">).</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;contentBox&#39;</span><span class="o">).</span><span class="nx">query</span><span class="o">(</span><span class="nx">C_FOOT</span><span class="o">),</span>
            <span class="nx">html</span><span class="o">;</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">foot</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">html</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">substitute</span><span class="o">(</span>
                        <span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CATEGORIES_TEMPLATE</span><span class="o">,</span>
                        <span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">);</span>

            <span class="k">this</span><span class="o">.</span><span class="nx">_categories</span> <span class="o">=</span> <span class="nx">foot</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">Node</span><span class="o">.</span><span class="nx">create</span><span class="o">(</span><span class="nx">html</span><span class="o">));</span>

            <span class="nx">html</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">substitute</span><span class="o">(</span>
                        <span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">SOURCES_TEMPLATE</span><span class="o">,</span>
                        <span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">);</span>

            <span class="k">this</span><span class="o">.</span><span class="nx">_sources</span> <span class="o">=</span> <span class="nx">foot</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">Y</span><span class="o">.</span><span class="nx">Node</span><span class="o">.</span><span class="nx">create</span><span class="o">(</span><span class="nx">html</span><span class="o">));</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Binds to checkbox click events and internal attribute change events to</span>
<span class="c">     * maintain the UI state.</span>
<span class="c">     *</span>
<span class="c">     * @method bindUI</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">bindUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">_categories</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s1">&#39;click&#39;</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">bind</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_onCategoryCheckboxClick</span><span class="o">,</span> <span class="k">this</span><span class="o">));</span>

        <span class="k">this</span><span class="o">.</span><span class="nx">_sources</span><span class="o">.</span><span class="nx">on</span><span class="o">(</span><span class="s1">&#39;click&#39;</span><span class="o">,</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">bind</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_onSourceCheckboxClick</span><span class="o">,</span> <span class="k">this</span><span class="o">));</span>
            
        <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="s1">&#39;categoryChange&#39;</span><span class="o">,</span><span class="k">this</span><span class="o">.</span><span class="nx">_afterCategoryChange</span><span class="o">);</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">after</span><span class="o">(</span><span class="s1">&#39;sourceChange&#39;</span><span class="o">,</span>  <span class="k">this</span><span class="o">.</span><span class="nx">_afterSourceChange</span><span class="o">);</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Updates the UI to be in accordance with the current state of the plugin.</span>
<span class="c">     *</span>
<span class="c">     * @method syncUI</span>
<span class="c">     */</span>
    <span class="nx">syncUI</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="nx">Y</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">),</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">,</span> <span class="nx">k</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetCheckbox</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">,</span> <span class="nx">k</span><span class="o">,</span> <span class="nx">v</span><span class="o">);</span>
        <span class="o">},</span> <span class="k">this</span><span class="o">);</span>

        <span class="nx">Y</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">),</span> <span class="k">function</span> <span class="o">(</span><span class="nx">v</span><span class="o">,</span> <span class="nx">k</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetCheckbox</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">,</span> <span class="nx">k</span><span class="o">,</span> <span class="nx">v</span><span class="o">);</span>
        <span class="o">},</span> <span class="k">this</span><span class="o">);</span>

        <span class="k">this</span><span class="o">.</span><span class="nx">refreshConsole</span><span class="o">();</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Ensures a filter is set up for any new categories or sources and</span>
<span class="c">     * collects the messages in _entries.  If the message is stamped with a</span>
<span class="c">     * category or source that is currently being filtered out, the message</span>
<span class="c">     * will not pass to the Console&#39;s print buffer.</span>
<span class="c">     *</span>
<span class="c">     * @method _onEntry</span>
<span class="c">     * @param e {Event} the custom event object</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_onEntry</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">_entries</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">e</span><span class="o">.</span><span class="nx">message</span><span class="o">);</span>

        <span class="k">var</span> <span class="nx">cat</span> <span class="o">=</span> <span class="nx">CATEGORY_DOT</span> <span class="o">+</span> <span class="nx">e</span><span class="o">.</span><span class="nx">message</span><span class="o">.</span><span class="nx">category</span><span class="o">,</span>
            <span class="nx">src</span> <span class="o">=</span> <span class="nx">SOURCE_DOT</span> <span class="o">+</span> <span class="nx">e</span><span class="o">.</span><span class="nx">message</span><span class="o">.</span><span class="nx">source</span><span class="o">,</span>
            <span class="nx">cat_filter</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">cat</span><span class="o">),</span>
            <span class="nx">src_filter</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">src</span><span class="o">),</span>
            <span class="nx">visible</span><span class="o">;</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">cat_filter</span> <span class="o">===</span> <span class="kc">undefined</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">visible</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">DEF_VISIBILITY</span><span class="o">);</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">cat</span><span class="o">,</span> <span class="nx">visible</span><span class="o">);</span>
            <span class="nx">cat_filter</span> <span class="o">=</span> <span class="nx">visible</span><span class="o">;</span>
        <span class="o">}</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">src_filter</span> <span class="o">===</span> <span class="kc">undefined</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">visible</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">DEF_VISIBILITY</span><span class="o">);</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">src</span><span class="o">,</span> <span class="nx">visible</span><span class="o">);</span>
            <span class="nx">src_filter</span> <span class="o">=</span> <span class="nx">visible</span><span class="o">;</span>
        <span class="o">}</span>
        
        <span class="k">if</span> <span class="o">(!</span><span class="nx">cat_filter</span> <span class="o">||</span> <span class="o">!</span><span class="nx">src_filter</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">e</span><span class="o">.</span><span class="nx">preventDefault</span><span class="o">();</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Flushes the cached entries after a call to the Console&#39;s clearConsole().</span>
<span class="c">     *</span>
<span class="c">     * @method _afterClearConsole</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_afterClearConsole</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">this</span><span class="o">.</span><span class="nx">_entries</span> <span class="o">=</span> <span class="o">[];</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Triggers the Console to update if a known category filter</span>
<span class="c">     * changes value (e.g. visible =&gt; hidden).  Updates the appropriate</span>
<span class="c">     * checkbox&#39;s checked state if necessary.</span>
<span class="c">     *</span>
<span class="c">     * @method _afterCategoryChange</span>
<span class="c">     * @param e {Event} the attribute change event object</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_afterCategoryChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">cat</span>    <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">subAttrName</span><span class="o">.</span><span class="nx">replace</span><span class="o">(</span><span class="sr">/category\./</span><span class="o">,</span> <span class="nx">EMPTY</span><span class="o">),</span>
            <span class="nx">before</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">prevVal</span><span class="o">,</span>
            <span class="nx">after</span>  <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">;</span>

        <span class="c">// Don&#39;t update the console for new categories</span>
<span class="c"></span>        <span class="k">if</span> <span class="o">(!</span><span class="nx">cat</span> <span class="o">||</span> <span class="nx">before</span><span class="o">[</span><span class="nx">cat</span><span class="o">]</span> <span class="o">!==</span> <span class="kc">undefined</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">refreshConsole</span><span class="o">();</span>

            <span class="k">this</span><span class="o">.</span><span class="nx">_filterBuffer</span><span class="o">();</span>
        <span class="o">}</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">cat</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">e</span><span class="o">.</span><span class="nx">fromUI</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetCheckbox</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">,</span> <span class="nx">cat</span><span class="o">,</span> <span class="nx">after</span><span class="o">[</span><span class="nx">cat</span><span class="o">]);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Triggers the Console to update if a known source filter</span>
<span class="c">     * changes value (e.g. visible =&gt; hidden).  Updates the appropriate</span>
<span class="c">     * checkbox&#39;s checked state if necessary.</span>
<span class="c">     *</span>
<span class="c">     * @method _afterSourceChange</span>
<span class="c">     * @param e {Event} the attribute change event object</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_afterSourceChange</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">src</span>     <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">subAttrName</span><span class="o">.</span><span class="nx">replace</span><span class="o">(</span><span class="sr">/source\./</span><span class="o">,</span> <span class="nx">EMPTY</span><span class="o">),</span>
            <span class="nx">before</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">prevVal</span><span class="o">,</span>
            <span class="nx">after</span>  <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">newVal</span><span class="o">;</span>

        <span class="c">// Don&#39;t update the console for new sources</span>
<span class="c"></span>        <span class="k">if</span> <span class="o">(!</span><span class="nx">src</span> <span class="o">||</span> <span class="nx">before</span><span class="o">[</span><span class="nx">src</span><span class="o">]</span> <span class="o">!==</span> <span class="kc">undefined</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">refreshConsole</span><span class="o">();</span>

            <span class="k">this</span><span class="o">.</span><span class="nx">_filterBuffer</span><span class="o">();</span>
        <span class="o">}</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">src</span> <span class="o">&amp;&amp;</span> <span class="o">!</span><span class="nx">e</span><span class="o">.</span><span class="nx">fromUI</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">_uiSetCheckbox</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">,</span> <span class="nx">src</span><span class="o">,</span> <span class="nx">after</span><span class="o">[</span><span class="nx">src</span><span class="o">]);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Flushes the Console&#39;s print buffer of any entries that have a category</span>
<span class="c">     * or source that is currently being excluded.</span>
<span class="c">     *</span>
<span class="c">     * @method _filterBuffer</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_filterBuffer</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">cats</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">),</span>
            <span class="nx">srcs</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">),</span>
            <span class="nx">buffer</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">).</span><span class="nx">buffer</span><span class="o">,</span>
            <span class="nx">start</span> <span class="o">=</span> <span class="kc">null</span><span class="o">,</span>
            <span class="nx">i</span><span class="o">;</span>

        <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="o">=</span> <span class="nx">buffer</span><span class="o">.</span><span class="nx">length</span> <span class="o">-</span> <span class="m">1</span><span class="o">;</span> <span class="nx">i</span> <span class="o">&gt;=</span> <span class="m">0</span><span class="o">;</span> <span class="o">--</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">if</span> <span class="o">(!</span><span class="nx">cats</span><span class="o">[</span><span class="nx">buffer</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">category</span><span class="o">]</span> <span class="o">||</span> <span class="o">!</span><span class="nx">srcs</span><span class="o">[</span><span class="nx">buffer</span><span class="o">[</span><span class="nx">i</span><span class="o">].</span><span class="nx">source</span><span class="o">])</span> <span class="o">{</span>
                <span class="nx">start</span> <span class="o">=</span> <span class="nx">start</span> <span class="o">||</span> <span class="nx">i</span><span class="o">;</span>
            <span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">start</span><span class="o">)</span> <span class="o">{</span>
                <span class="nx">buffer</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">i</span><span class="o">,(</span><span class="nx">start</span> <span class="o">-</span> <span class="nx">i</span><span class="o">));</span>
                <span class="nx">start</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
            <span class="o">}</span>
        <span class="o">}</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">start</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">buffer</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="m">0</span><span class="o">,</span><span class="nx">start</span> <span class="o">+</span> <span class="m">1</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Repopulates the Console with entries appropriate to the current filter</span>
<span class="c">     * settings.</span>
<span class="c">     *</span>
<span class="c">     * @method refreshConsole</span>
<span class="c">     */</span>
    <span class="nx">refreshConsole</span> <span class="o">:</span> <span class="k">function</span> <span class="o">()</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">entries</span>   <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_entries</span><span class="o">,</span>
            <span class="nx">host</span>      <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">),</span>
            <span class="nx">body</span>      <span class="o">=</span> <span class="nx">host</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;contentBox&#39;</span><span class="o">).</span><span class="nx">query</span><span class="o">(</span><span class="nx">C_BODY</span><span class="o">),</span>
            <span class="nx">remaining</span> <span class="o">=</span> <span class="nx">host</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;consoleLimit&#39;</span><span class="o">),</span>
            <span class="nx">cats</span>      <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">),</span>
            <span class="nx">srcs</span>      <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">),</span>
            <span class="nx">buffer</span>    <span class="o">=</span> <span class="o">[],</span>
            <span class="nx">i</span><span class="o">,</span><span class="nx">e</span><span class="o">;</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">body</span><span class="o">)</span> <span class="o">{</span>
            <span class="nx">host</span><span class="o">.</span><span class="nx">_cancelPrintLoop</span><span class="o">();</span>

            <span class="c">// Evaluate all entries from latest to oldest</span>
<span class="c"></span>            <span class="k">for</span> <span class="o">(</span><span class="nx">i</span> <span class="o">=</span> <span class="nx">entries</span><span class="o">.</span><span class="nx">length</span> <span class="o">-</span> <span class="m">1</span><span class="o">;</span> <span class="nx">i</span> <span class="o">&gt;=</span> <span class="m">0</span> <span class="o">&amp;&amp;</span> <span class="nx">remaining</span> <span class="o">&gt;=</span> <span class="m">0</span><span class="o">;</span> <span class="o">--</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
                <span class="nx">e</span> <span class="o">=</span> <span class="nx">entries</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
                <span class="k">if</span> <span class="o">(</span><span class="nx">cats</span><span class="o">[</span><span class="nx">e</span><span class="o">.</span><span class="nx">category</span><span class="o">]</span> <span class="o">&amp;&amp;</span> <span class="nx">srcs</span><span class="o">[</span><span class="nx">e</span><span class="o">.</span><span class="nx">source</span><span class="o">])</span> <span class="o">{</span>
                    <span class="nx">buffer</span><span class="o">.</span><span class="nx">unshift</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
                    <span class="o">--</span><span class="nx">remaining</span><span class="o">;</span>
                <span class="o">}</span>
            <span class="o">}</span>

            <span class="nx">body</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="s1">&#39;innerHTML&#39;</span><span class="o">,</span><span class="nx">EMPTY</span><span class="o">);</span>
            <span class="nx">host</span><span class="o">.</span><span class="nx">buffer</span> <span class="o">=</span> <span class="nx">buffer</span><span class="o">;</span>
            <span class="nx">host</span><span class="o">.</span><span class="nx">printBuffer</span><span class="o">();</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Updates the checked property of a filter checkbox of the specified type.</span>
<span class="c">     * If no checkbox is found for the input params, one is created.</span>
<span class="c">     *</span>
<span class="c">     * @method _uiSetCheckbox</span>
<span class="c">     * @param type {String} &#39;category&#39; or &#39;source&#39;</span>
<span class="c">     * @param item {String} the name of the filter (e.g. &#39;info&#39;, &#39;event&#39;)</span>
<span class="c">     * @param checked {Boolean} value to set the checkbox&#39;s checked property</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_uiSetCheckbox</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">item</span><span class="o">,</span> <span class="nx">checked</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">type</span> <span class="o">&amp;&amp;</span> <span class="nx">item</span><span class="o">)</span> <span class="o">{</span>
            <span class="k">var</span> <span class="nx">container</span> <span class="o">=</span> <span class="nx">type</span> <span class="o">===</span> <span class="nx">CATEGORY</span> <span class="o">?</span>
                                <span class="k">this</span><span class="o">.</span><span class="nx">_categories</span> <span class="o">:</span>
                                <span class="k">this</span><span class="o">.</span><span class="nx">_sources</span><span class="o">,</span>
                <span class="nx">sel</span>      <span class="o">=</span> <span class="nx">SEL_CHECK</span> <span class="o">+</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span><span class="nx">FILTER</span><span class="o">,</span><span class="nx">item</span><span class="o">),</span>
                <span class="nx">checkbox</span> <span class="o">=</span> <span class="nx">container</span><span class="o">.</span><span class="nx">query</span><span class="o">(</span><span class="nx">sel</span><span class="o">),</span>
                <span class="nx">host</span><span class="o">;</span>
                
            <span class="k">if</span> <span class="o">(!</span><span class="nx">checkbox</span><span class="o">)</span> <span class="o">{</span>
                <span class="nx">host</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">HOST</span><span class="o">);</span>

                <span class="k">this</span><span class="o">.</span><span class="nx">_createCheckbox</span><span class="o">(</span><span class="nx">container</span><span class="o">,</span> <span class="nx">item</span><span class="o">);</span>

                <span class="nx">checkbox</span> <span class="o">=</span> <span class="nx">container</span><span class="o">.</span><span class="nx">query</span><span class="o">(</span><span class="nx">sel</span><span class="o">);</span>

                <span class="nx">host</span><span class="o">.</span><span class="nx">_uiSetHeight</span><span class="o">(</span><span class="nx">host</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;height&#39;</span><span class="o">));</span>
            <span class="o">}</span>
            
            <span class="nx">checkbox</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">CHECKED</span><span class="o">,</span> <span class="nx">checked</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Passes checkbox clicks on to the category attribute.</span>
<span class="c">     *</span>
<span class="c">     * @method _onCategoryCheckboxClick</span>
<span class="c">     * @param e {Event} the DOM event</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_onCategoryCheckboxClick</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cat</span><span class="o">;</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">t</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">.</span><span class="nx">filter</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">cat</span> <span class="o">=</span> <span class="nx">t</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;value&#39;</span><span class="o">);</span>
            <span class="k">if</span> <span class="o">(</span><span class="nx">cat</span> <span class="o">&amp;&amp;</span> <span class="nx">cat</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CATEGORY</span><span class="o">))</span> <span class="o">{</span>
                <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">CATEGORY_DOT</span> <span class="o">+</span> <span class="nx">cat</span><span class="o">,</span> <span class="nx">t</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CHECKED</span><span class="o">),</span> <span class="o">{</span> <span class="nx">fromUI</span><span class="o">:</span> <span class="kc">true</span> <span class="o">});</span>
            <span class="o">}</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Passes checkbox clicks on to the source attribute.</span>
<span class="c">     *</span>
<span class="c">     * @method _onSourceCheckboxClick</span>
<span class="c">     * @param e {Event} the DOM event</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_onSourceCheckboxClick</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">t</span> <span class="o">=</span> <span class="nx">e</span><span class="o">.</span><span class="nx">target</span><span class="o">,</span> <span class="nx">src</span><span class="o">;</span>

        <span class="k">if</span> <span class="o">(</span><span class="nx">t</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">.</span><span class="nx">filter</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">src</span> <span class="o">=</span> <span class="nx">t</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="s1">&#39;value&#39;</span><span class="o">);</span>
            <span class="k">if</span> <span class="o">(</span><span class="nx">src</span> <span class="o">&amp;&amp;</span> <span class="nx">src</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">SOURCE</span><span class="o">))</span> <span class="o">{</span>
                <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">SOURCE_DOT</span> <span class="o">+</span> <span class="nx">src</span><span class="o">,</span> <span class="nx">t</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">CHECKED</span><span class="o">),</span> <span class="o">{</span> <span class="nx">fromUI</span><span class="o">:</span> <span class="kc">true</span> <span class="o">});</span>
            <span class="o">}</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Hides any number of categories from the UI.  Convenience method for</span>
<span class="c">     * myConsole.filter.set(&#39;category.foo&#39;, false); set(&#39;category.bar&#39;, false);</span>
<span class="c">     * and so on.</span>
<span class="c">     *</span>
<span class="c">     * @method hideCategory</span>
<span class="c">     * @param cat* {String} 1..n categories to filter out of the UI</span>
<span class="c">     */</span>
    <span class="nx">hideCategory</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">cat</span><span class="o">,</span> <span class="nx">multiple</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">multiple</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="nx">arguments</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">.</span><span class="nx">callee</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">CATEGORY_DOT</span> <span class="o">+</span> <span class="nx">cat</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Shows any number of categories in the UI.  Convenience method for</span>
<span class="c">     * myConsole.filter.set(&#39;category.foo&#39;, true); set(&#39;category.bar&#39;, true);</span>
<span class="c">     * and so on.</span>
<span class="c">     *</span>
<span class="c">     * @method showCategory</span>
<span class="c">     * @param cat* {String} 1..n categories to allow to display in the UI</span>
<span class="c">     */</span>
    <span class="nx">showCategory</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">cat</span><span class="o">,</span> <span class="nx">multiple</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">multiple</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="nx">arguments</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">.</span><span class="nx">callee</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">CATEGORY_DOT</span> <span class="o">+</span> <span class="nx">cat</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Hides any number of sources from the UI.  Convenience method for</span>
<span class="c">     * myConsole.filter.set(&#39;source.foo&#39;, false); set(&#39;source.bar&#39;, false);</span>
<span class="c">     * and so on.</span>
<span class="c">     *</span>
<span class="c">     * @method hideSource</span>
<span class="c">     * @param src* {String} 1..n sources to filter out of the UI</span>
<span class="c">     */</span>
    <span class="nx">hideSource</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">src</span><span class="o">,</span> <span class="nx">multiple</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">multiple</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="nx">arguments</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">.</span><span class="nx">callee</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">SOURCE_DOT</span> <span class="o">+</span> <span class="nx">src</span><span class="o">,</span> <span class="kc">false</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Shows any number of sources in the UI.  Convenience method for</span>
<span class="c">     * myConsole.filter.set(&#39;source.foo&#39;, true); set(&#39;source.bar&#39;, true);</span>
<span class="c">     * and so on.</span>
<span class="c">     *</span>
<span class="c">     * @method showSource</span>
<span class="c">     * @param src* {String} 1..n sources to allow to display in the UI</span>
<span class="c">     */</span>
    <span class="nx">showSource</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">src</span><span class="o">,</span> <span class="nx">multiple</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">if</span> <span class="o">(</span><span class="nx">isString</span><span class="o">(</span><span class="nx">multiple</span><span class="o">))</span> <span class="o">{</span>
            <span class="nx">Y</span><span class="o">.</span><span class="nb">Array</span><span class="o">.</span><span class="nx">each</span><span class="o">(</span><span class="nx">arguments</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">.</span><span class="nx">callee</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
            <span class="k">this</span><span class="o">.</span><span class="nx">set</span><span class="o">(</span><span class="nx">SOURCE_DOT</span> <span class="o">+</span> <span class="nx">src</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
        <span class="o">}</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Creates a checkbox and label from the ConsoleFilters.FILTER_TEMPLATE for</span>
<span class="c">     * the provided type and name.  The checkbox and label are appended to the</span>
<span class="c">     * container node passes as the first arg.</span>
<span class="c">     *</span>
<span class="c">     * @method _createCheckbox</span>
<span class="c">     * @param container {Node} the parentNode of the new checkbox and label</span>
<span class="c">     * @param name {String} the identifier of the filter</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_createCheckbox</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">container</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">var</span> <span class="nx">info</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">merge</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">CHROME_CLASSES</span><span class="o">,</span> <span class="o">{</span>
                        <span class="nx">filter_name</span>  <span class="o">:</span> <span class="nx">name</span><span class="o">,</span>
                        <span class="nx">filter_class</span> <span class="o">:</span> <span class="nx">getCN</span><span class="o">(</span><span class="nx">CONSOLE</span><span class="o">,</span> <span class="nx">FILTER</span><span class="o">,</span> <span class="nx">name</span><span class="o">)</span>
                   <span class="o">}),</span>
            <span class="nx">node</span> <span class="o">=</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Node</span><span class="o">.</span><span class="nx">create</span><span class="o">(</span>
                        <span class="nx">Y</span><span class="o">.</span><span class="nx">substitute</span><span class="o">(</span><span class="nx">ConsoleFilters</span><span class="o">.</span><span class="nx">FILTER_TEMPLATE</span><span class="o">,</span> <span class="nx">info</span><span class="o">));</span>

        <span class="nx">container</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">node</span><span class="o">);</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Validates category updates are objects and the subattribute is not too</span>
<span class="c">     * deep.</span>
<span class="c">     *</span>
<span class="c">     * @method _validateCategory</span>
<span class="c">     * @param cat {String} the new category:visibility map</span>
<span class="c">     * @param v {String} the subattribute path updated</span>
<span class="c">     * @return Boolean</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_validateCategory</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">cat</span><span class="o">,</span> <span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">return</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">.</span><span class="nx">isObject</span><span class="o">(</span><span class="nx">v</span><span class="o">,</span><span class="kc">true</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">cat</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="sr">/\./</span><span class="o">).</span><span class="nx">length</span> <span class="o">&lt;</span> <span class="m">3</span><span class="o">;</span>
    <span class="o">},</span>

    <span class="c">/**</span>
<span class="c">     * Validates source updates are objects and the subattribute is not too</span>
<span class="c">     * deep.</span>
<span class="c">     *</span>
<span class="c">     * @method _validateSource</span>
<span class="c">     * @param cat {String} the new source:visibility map</span>
<span class="c">     * @param v {String} the subattribute path updated</span>
<span class="c">     * @return Boolean</span>
<span class="c">     * @protected</span>
<span class="c">     */</span>
    <span class="nx">_validateSource</span> <span class="o">:</span> <span class="k">function</span> <span class="o">(</span><span class="nx">src</span><span class="o">,</span> <span class="nx">v</span><span class="o">)</span> <span class="o">{</span>
        <span class="k">return</span> <span class="nx">Y</span><span class="o">.</span><span class="nx">Lang</span><span class="o">.</span><span class="nx">isObject</span><span class="o">(</span><span class="nx">v</span><span class="o">,</span><span class="kc">true</span><span class="o">)</span> <span class="o">&amp;&amp;</span> <span class="nx">src</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="sr">/\./</span><span class="o">).</span><span class="nx">length</span> <span class="o">&lt;</span> <span class="m">3</span><span class="o">;</span>
    <span class="o">}</span>

<span class="o">});</span>

<span class="nx">Y</span><span class="o">.</span><span class="nx">namespace</span><span class="o">(</span><span class="s1">&#39;Plugin&#39;</span><span class="o">).</span><span class="nx">ConsoleFilters</span> <span class="o">=</span> <span class="nx">ConsoleFilters</span><span class="o">;</span>
</pre></div>
                    </div>
			</div>
		</div>
		<div class="yui-b">
            <div class="nav">

                    <div id="moduleList" class="module">
                        <h4>Modules</h4>
                        <ul class="content">
                                <li class=""><a href="module_anim.html" title="anim">anim</a></li>
                                <li class=""><a href="module_attribute.html" title="attribute">attribute</a></li>
                                <li class=""><a href="module_base.html" title="base">base</a></li>
                                <li class=""><a href="module_cache.html" title="cache">cache</a></li>
                                <li class=""><a href="module_classnamemanager.html" title="classnamemanager">classnamemanager</a></li>
                                <li class=""><a href="module_collection.html" title="collection">collection</a></li>
                                <li class=""><a href="module_console.html" title="console">console</a></li>
                                <li class="selected"><a href="module_console-filters.html" title="console-filters">console-filters</a></li>
                                <li class=""><a href="module_cookie.html" title="cookie">cookie</a></li>
                                <li class=""><a href="module_dataschema.html" title="dataschema">dataschema</a></li>
                                <li class=""><a href="module_datasource.html" title="datasource">datasource</a></li>
                                <li class=""><a href="module_datatype.html" title="datatype">datatype</a></li>
                                <li class=""><a href="module_dd.html" title="dd">dd</a></li>
                                <li class=""><a href="module_dom.html" title="dom">dom</a></li>
                                <li class=""><a href="module_dump.html" title="dump">dump</a></li>
                                <li class=""><a href="module_event.html" title="event">event</a></li>
                                <li class=""><a href="module_event-custom.html" title="event-custom">event-custom</a></li>
                                <li class=""><a href="module_event-simulate.html" title="event-simulate">event-simulate</a></li>
                                <li class=""><a href="module_history.html" title="history">history</a></li>
                                <li class=""><a href="module_imageloader.html" title="imageloader">imageloader</a></li>
                                <li class=""><a href="module_io.html" title="io">io</a></li>
                                <li class=""><a href="module_json.html" title="json">json</a></li>
                                <li class=""><a href="module_node.html" title="node">node</a></li>
                                <li class=""><a href="module_node-focusmanager.html" title="node-focusmanager">node-focusmanager</a></li>
                                <li class=""><a href="module_node-menunav.html" title="node-menunav">node-menunav</a></li>
                                <li class=""><a href="module_oop.html" title="oop">oop</a></li>
                                <li class=""><a href="module_overlay.html" title="overlay">overlay</a></li>
                                <li class=""><a href="module_plugin.html" title="plugin">plugin</a></li>
                                <li class=""><a href="module_profiler.html" title="profiler">profiler</a></li>
                                <li class=""><a href="module_queue.html" title="queue">queue</a></li>
                                <li class=""><a href="module_slider.html" title="slider">slider</a></li>
                                <li class=""><a href="module_stylesheet.html" title="stylesheet">stylesheet</a></li>
                                <li class=""><a href="module_substitute.html" title="substitute">substitute</a></li>
                                <li class=""><a href="module_test.html" title="test">test</a></li>
                                <li class=""><a href="module_widget.html" title="widget">widget</a></li>
                                <li class=""><a href="module_widget-position.html" title="widget-position">widget-position</a></li>
                                <li class=""><a href="module_widget-position-ext.html" title="widget-position-ext">widget-position-ext</a></li>
                                <li class=""><a href="module_widget-stack.html" title="widget-stack">widget-stack</a></li>
                                <li class=""><a href="module_widget-stdmod.html" title="widget-stdmod">widget-stdmod</a></li>
                                <li class=""><a href="module_yui.html" title="yui">yui</a></li>
                        </ul>
                    </div>

                    <div id="classList" class="module">
                        <h4>Classes</h4>
                        <ul class="content">
                                <li class=""><a href="Plugin.ConsoleFilters.html" title="Plugin.ConsoleFilters">Plugin.ConsoleFilters</a></li>
                        </ul>
                    </div>

                    <div id="fileList" class="module">
                        <h4>Files</h4>
                        <ul class="content">        
                                <li class="selected"><a href="console-filters.js.html" title="console-filters.js">console-filters.js</a></li>
                        </ul>
                    </div>





            </div>
		</div>
	</div>
	<div id="ft">
        <hr />
        Copyright &copy; 2009 Yahoo! Inc. All rights reserved.
	</div>
</div>
<script type="text/javascript">
    ALL_YUI_PROPS = [{"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_afterCategoryChange", "url": "Plugin.ConsoleFilters.html#method__afterCategoryChange", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_afterClearConsole", "url": "Plugin.ConsoleFilters.html#method__afterClearConsole", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_afterSourceChange", "url": "Plugin.ConsoleFilters.html#method__afterSourceChange", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "bindUI", "url": "Plugin.ConsoleFilters.html#method_bindUI", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_categories", "url": "Plugin.ConsoleFilters.html#property__categories", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "category", "url": "Plugin.ConsoleFilters.html#config_category", "type": "config"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "categoryChange", "url": "Plugin.ConsoleFilters.html#event_categoryChange", "type": "event"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.CATEGORIES_TEMPLATE", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.CATEGORIES_TEMPLATE", "type": "property"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.CHROME_CLASSES", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.CHROME_CLASSES", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.FILTER_TEMPLATE", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.FILTER_TEMPLATE", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.NAME", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.NAME", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.NS", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.NS", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "ConsoleFilters.SOURCES_TEMPLATE", "url": "Plugin.ConsoleFilters.html#property_ConsoleFilters.SOURCES_TEMPLATE", "type": "property"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_createCheckbox", "url": "Plugin.ConsoleFilters.html#method__createCheckbox", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "defaultVisibility", "url": "Plugin.ConsoleFilters.html#config_defaultVisibility", "type": "config"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "defaultVisibilityChange", "url": "Plugin.ConsoleFilters.html#event_defaultVisibilityChange", "type": "event"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "destructor", "url": "Plugin.ConsoleFilters.html#method_destructor", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_entries", "url": "Plugin.ConsoleFilters.html#property__entries", "type": "property"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_filterBuffer", "url": "Plugin.ConsoleFilters.html#method__filterBuffer", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "hideCategory", "url": "Plugin.ConsoleFilters.html#method_hideCategory", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "hideSource", "url": "Plugin.ConsoleFilters.html#method_hideSource", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "initializer", "url": "Plugin.ConsoleFilters.html#method_initializer", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_onCategoryCheckboxClick", "url": "Plugin.ConsoleFilters.html#method__onCategoryCheckboxClick", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_onEntry", "url": "Plugin.ConsoleFilters.html#method__onEntry", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_onSourceCheckboxClick", "url": "Plugin.ConsoleFilters.html#method__onSourceCheckboxClick", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "refreshConsole", "url": "Plugin.ConsoleFilters.html#method_refreshConsole", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "renderUI", "url": "Plugin.ConsoleFilters.html#method_renderUI", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "showCategory", "url": "Plugin.ConsoleFilters.html#method_showCategory", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "showSource", "url": "Plugin.ConsoleFilters.html#method_showSource", "type": "method"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "source", "url": "Plugin.ConsoleFilters.html#config_source", "type": "config"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "sourceChange", "url": "Plugin.ConsoleFilters.html#event_sourceChange", "type": "event"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_sources", "url": "Plugin.ConsoleFilters.html#property__sources", "type": "property"}, {"access": "", "host": "Plugin.ConsoleFilters", "name": "syncUI", "url": "Plugin.ConsoleFilters.html#method_syncUI", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_uiSetCheckbox", "url": "Plugin.ConsoleFilters.html#method__uiSetCheckbox", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_validateCategory", "url": "Plugin.ConsoleFilters.html#method__validateCategory", "type": "method"}, {"access": "protected", "host": "Plugin.ConsoleFilters", "name": "_validateSource", "url": "Plugin.ConsoleFilters.html#method__validateSource", "type": "method"}];
</script>
</body>
</html>
